package mx.ipn.pruebas;

import java.util.ArrayList;

import mx.ipn.persistencia.FabricaDeDAOs;
import mx.ipn.persistencia.dao.*;
import mx.ipn.to.*;

public class PruebasDAOs22 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		FabricaDeDAOs fabricaMySQL = FabricaDeDAOs
				.getFabricaDeDAOs(mx.ipn.Constantes.FABRICA_DAOS_MYSQL);
		short resultado;

		// ***********************************************************************************************
		// PERCEPCIONHISTORIAL
		System.out
				.println("<<<<<<<<<<<<<<<<<<<<<<<<<PERCEPCIONHISTORIAL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
		try {

			PercepcionHistorialDAO percepcionHistorialDAO = fabricaMySQL
					.getPercepcionHistorialDAO();
			PercepcionHistorialTO percepcionHistorialTO = new PercepcionHistorialTO();
			percepcionHistorialTO.setIdPercepcion(3);
			percepcionHistorialTO.setIdComprobante(3);
			percepcionHistorialTO.setValor((double) 500);

			// insert

/*			if (percepcionHistorialDAO
					.insertPercepcionHistorial(percepcionHistorialTO)) {
				// percepcionHistorialDAO.insertPercepcionHistorial(percepcionHistorialTO);
				System.out
						.println("+++++++++++++++++++ Insertado correctamente");
			} else
				System.out.println("Falla en la insercion");
*/
			// actualiza
			/*PercepcionHistorialTO percepcionHistorialNuevoTO = new PercepcionHistorialTO();

			percepcionHistorialNuevoTO.setIdComprobante(1);
			percepcionHistorialNuevoTO.setIdPercepcion(7);

			resultado = percepcionHistorialDAO.updatePercepcionHistorial(
					percepcionHistorialTO, percepcionHistorialNuevoTO);
			if (resultado == 1)
				System.out.println("Actualizado correctamente");
			else if (resultado == 0)
				System.out.println("Falla en la actualizacion");
			else if (resultado == -1)
				System.out.println("Ocurrio una excepcion");
*/
			// Busca
			System.out.println("------------------------- BUSQUEDA POR ID");
			percepcionHistorialTO = percepcionHistorialDAO
					.findPercepcionHistorialByPercepcionComprobante(7, 1);
			if (percepcionHistorialTO != null) {
				System.out.println("Busqueda exitosa");

				System.out.println("PERCEPCIONHISTORIAL");
				ImprimirTO.Imprime(percepcionHistorialTO);

			} else {
				System.out.println("Falla en la seleccion");
			}

			// busqueda multiple
			System.out
					.println("**++++++++++++++++++++++ SELECT PERCEPCIONHISTORIAL +**");
			java.util.Collection<PercepcionHistorialTO> listPercepcionHistorialTO = percepcionHistorialDAO
					.selectPercepcionHistorial();
			if (listPercepcionHistorialTO != null) {
				for (int i = 0; i < listPercepcionHistorialTO.size(); i++) {
					percepcionHistorialTO = ((ArrayList<PercepcionHistorialTO>) listPercepcionHistorialTO)
							.get(i);

					System.out.println("PERCEPCIONHISTORIAL");
					ImprimirTO.Imprime(percepcionHistorialTO);
				}
			} else {
				System.out.println("No hubo resultados en la seleccion");
			}

			// busqueda multiple
			System.out
					.println("**++++++++++++++++++++++ SELECT PERCEPCIONHISTORIAL BY RANGO VALOR+**");
			listPercepcionHistorialTO = percepcionHistorialDAO
					.selectPercepcionHistorialByRangoValor((double) 0,
							(double) 500);
			if (listPercepcionHistorialTO != null) {
				for (int i = 0; i < listPercepcionHistorialTO.size(); i++) {
					percepcionHistorialTO = ((ArrayList<PercepcionHistorialTO>) listPercepcionHistorialTO)
							.get(i);

					System.out.println("PERCEPCIONHISTORIAL");
					ImprimirTO.Imprime(percepcionHistorialTO);
				}
			} else {
				System.out.println("No hubo resultados en la seleccion");
			}

			// Busca
			System.out.println("------------------- BUSQUEDA POR PERCEPCION");
			percepcionHistorialTO = percepcionHistorialDAO
					.selectPercepcionHistorialByPercepcion(7);
			if (percepcionHistorialTO != null) {
				System.out.println("Busqueda exitosa");

				System.out.println("PERCEPCIONHISTORIAL");

				for (int x = 0; x < percepcionHistorialTO.getListValor().length; x++) {
					System.out.println("VALOR");
					System.out.println(percepcionHistorialTO.getListValor()[x]);
				}

				for (int x = 0; x < percepcionHistorialTO
						.getListComprobanteTO().length; x++) {
					System.out.println("COMPROBANTE");
					ImprimirTO.Imprime(percepcionHistorialTO
							.getListComprobanteTO()[x]);
				}

				for (int x = 0; x < percepcionHistorialTO.getListPercepcionTO().length; x++) {
					System.out.println("PERCEPCION");
					ImprimirTO.Imprime(percepcionHistorialTO
							.getListPercepcionTO()[x]);
				}

			} else {
				System.out.println("Falla en la seleccion");
			}

			// Busca
			System.out.println("------------------- BUSQUEDA POR COMPROBANTE");
			percepcionHistorialTO = percepcionHistorialDAO
					.selectPercepcionHistorialByComprobante(1);
			if (percepcionHistorialTO != null) {
				System.out.println("Busqueda exitosa");

				System.out.println("PERCEPCIONHISTORIAL");

				for (int x = 0; x < percepcionHistorialTO.getListValor().length; x++) {
					System.out.println("VALOR");
					System.out.println(percepcionHistorialTO.getListValor()[x]);
				}

				for (int x = 0; x < percepcionHistorialTO.getListPercepcionTO().length; x++) {
					System.out.println("PERCEPCION");
					ImprimirTO.Imprime(percepcionHistorialTO
							.getListPercepcionTO()[x]);
				}

				for (int x = 0; x < percepcionHistorialTO
						.getListComprobanteTO().length; x++) {
					System.out.println("COMPROBANTE");
					ImprimirTO.Imprime(percepcionHistorialTO
							.getListComprobanteTO()[x]);
				}

			} else {
				System.out.println("Falla en la seleccion");
			}

		}

		catch (Exception e) {
			System.out.println("Ocurrio una excepcion");
		}
		
		// ***********************************************************************************************
		// DESCUENTOHISTORIAL
		System.out
				.println("<<<<<<<<<<<<<<<<<<<<<<<<<DESCUENTOHISTORIAL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
		try {

			DescuentoHistorialDAO descuentoHistorialDAO = fabricaMySQL
					.getDescuentoHistorialDAO();
			DescuentoHistorialTO descuentoHistorialTO = new DescuentoHistorialTO();
			descuentoHistorialTO.setIdDescuento(1);
			descuentoHistorialTO.setIdComprobante(3);
			descuentoHistorialTO.setValor((double) 500);

			// insert
/*
			if (descuentoHistorialDAO
					.insertDescuentoHistorial(descuentoHistorialTO)) {
				// descuentoHistorialDAO.insertDescuentoHistorial(descuentoHistorialTO);
				System.out
						.println("+++++++++++++++++++ Insertado correctamente");
			} else
				System.out.println("Falla en la insercion");
*/
			// actualiza
/*			DescuentoHistorialTO descuentoHistorialNuevoTO = new DescuentoHistorialTO();

			descuentoHistorialNuevoTO.setIdComprobante(1);
			descuentoHistorialNuevoTO.setIdDescuento(7);
			descuentoHistorialNuevoTO.setValor(400);

			resultado = descuentoHistorialDAO.updateDescuentoHistorial(
					descuentoHistorialTO, descuentoHistorialNuevoTO);
			if (resultado == 1)
				System.out.println("Actualizado correctamente");
			else if (resultado == 0)
				System.out.println("Falla en la actualizacion");
			else if (resultado == -1)
				System.out.println("Ocurrio una excepcion");
*/
			// Busca
			System.out.println("------------------------- BUSQUEDA POR ID");
			descuentoHistorialTO = descuentoHistorialDAO
					.findDescuentoHistorialByDescuentoComprobante(7, 1);
			if (descuentoHistorialTO != null) {
				System.out.println("Busqueda exitosa");

				System.out.println("DESCUENTOHISTORIAL");
				ImprimirTO.Imprime(descuentoHistorialTO);

			} else {
				System.out.println("Falla en la seleccion");
			}

			// busqueda multiple
			System.out
					.println("**++++++++++++++++++++++ SELECT DESCUENTOHISTORIAL +**");
			java.util.Collection<DescuentoHistorialTO> listDescuentoHistorialTO = descuentoHistorialDAO
					.selectDescuentoHistorial();
			if (listDescuentoHistorialTO != null) {
				for (int i = 0; i < listDescuentoHistorialTO.size(); i++) {
					descuentoHistorialTO = ((ArrayList<DescuentoHistorialTO>) listDescuentoHistorialTO)
							.get(i);

					System.out.println("DESCUENTOHISTORIAL");
					ImprimirTO.Imprime(descuentoHistorialTO);
				}
			} else {
				System.out.println("No hubo resultados en la seleccion");
			}

			// busqueda multiple
			System.out
					.println("**++++++++++++++++++++++ SELECT DESCUENTOHISTORIAL BY RANGO VALOR+**");
			listDescuentoHistorialTO = descuentoHistorialDAO
					.selectDescuentoHistorialByRangoValor((double) 0,
							(double) 500);
			if (listDescuentoHistorialTO != null) {
				for (int i = 0; i < listDescuentoHistorialTO.size(); i++) {
					descuentoHistorialTO = ((ArrayList<DescuentoHistorialTO>) listDescuentoHistorialTO)
							.get(i);

					System.out.println("DESCUENTOHISTORIAL");
					ImprimirTO.Imprime(descuentoHistorialTO);
				}
			} else {
				System.out.println("No hubo resultados en la seleccion");
			}

			// Busca
			System.out.println("------------------- BUSQUEDA POR DESCUENTO");
			descuentoHistorialTO = descuentoHistorialDAO
					.selectDescuentoHistorialByDescuento(7);
			if (descuentoHistorialTO != null) {
				System.out.println("Busqueda exitosa");

				System.out.println("DESCUENTOHISTORIAL");

				for (int x = 0; x < descuentoHistorialTO.getListValor().length; x++) {
					System.out.println("VALOR");
					System.out.println(descuentoHistorialTO.getListValor()[x]);
				}

				for (int x = 0; x < descuentoHistorialTO
						.getListComprobanteTO().length; x++) {
					System.out.println("COMPROBANTE");
					ImprimirTO.Imprime(descuentoHistorialTO
							.getListComprobanteTO()[x]);
				}

				for (int x = 0; x < descuentoHistorialTO.getListDescuentoTO().length; x++) {
					System.out.println("DESCUENTO");
					ImprimirTO.Imprime(descuentoHistorialTO
							.getListDescuentoTO()[x]);
				}

			} else {
				System.out.println("Falla en la seleccion");
			}

			// Busca
			System.out.println("------------------- BUSQUEDA POR COMPROBANTE");
			descuentoHistorialTO = descuentoHistorialDAO
					.selectDescuentoHistorialByComprobante(1);
			if (descuentoHistorialTO != null) {
				System.out.println("Busqueda exitosa");

				System.out.println("DESCUENTOHISTORIAL");

				for (int x = 0; x < descuentoHistorialTO.getListValor().length; x++) {
					System.out.println("VALOR");
					System.out.println(descuentoHistorialTO.getListValor()[x]);
				}

				for (int x = 0; x < descuentoHistorialTO.getListDescuentoTO().length; x++) {
					System.out.println("DESCUENTO");
					ImprimirTO.Imprime(descuentoHistorialTO
							.getListDescuentoTO()[x]);
				}

				for (int x = 0; x < descuentoHistorialTO
						.getListComprobanteTO().length; x++) {
					System.out.println("COMPROBANTE");
					ImprimirTO.Imprime(descuentoHistorialTO
							.getListComprobanteTO()[x]);
				}

			} else {
				System.out.println("Falla en la seleccion");
			}

		}

		catch (Exception e) {
			System.out.println("Ocurrio una excepcion");
		}

	}

}
